var SearchProviderProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProviderIface);
var SearchProvider2ProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProvider2Iface);
-function loadRemoteSearchProviders(searchSettings, callback) {
+/**
+ * loadRemoteSearchProviders:
+ *
+ * @param {Gio.Settings} searchSettings - search settings
+ * @returns {RemoteSearchProvider[]} - the list of remote providers
+ */
+function loadRemoteSearchProviders(searchSettings) {
let objectPaths = {};
let loadedProviders = [];
}
}
- if (searchSettings.get_boolean('disable-external')) {
- callback([]);
- return;
- }
+ if (searchSettings.get_boolean('disable-external'))
+ return [];
FileUtils.collectFromDatadirs('search-providers', false, loadRemoteSearchProvider);
return idxA - idxB;
});
- callback(loadedProviders);
+ return loadedProviders;
}
var RemoteSearchProvider = class {
this._unregisterProvider(provider);
});
- RemoteSearch.loadRemoteSearchProviders(this._searchSettings, providers => {
- providers.forEach(this._registerProvider.bind(this));
- });
+ const providers = RemoteSearch.loadRemoteSearchProviders(this._searchSettings);
+ providers.forEach(this._registerProvider.bind(this));
}
_registerProvider(provider) {